const fetch = require('../../utils/fetch')
Page({

  /**
   * 页面的初始数据
   */
  data: {
    categories:[],
    shops:[],
    pageIndex:1,
    pageSize:10,
    hasMore:true,
    input:''
  },

  loadMore(){
    if (this.data.hasMore){
      let {pageIndex,pageSize} = this.data
      let params = { _page: pageIndex++, _limit:pageSize}
      return fetch(`categories/${this.data.categories.id}/shops`,params).then(res=>{
        let count = parseInt(res.header['x-total-count'])
        let hasMore =  pageIndex*pageSize <= count
        let shops = this.data.shops.concat(res.data)
        this.setData({
          shops,
          pageIndex,
          hasMore
        })
      })
    }
  },
  changeInputHandle(e){
    this.setData({
      input:e.detail.value
    })
  },
  searchHandle(){
    fetch(`categories/${this.data.categories.id}/shops`,{q:this.data.input}).
      then(res=>{
        // console.log(res.data)
        this.setData({
          shops:res.data,
          hasMore:false
        })
      })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
  //  console.log(options)
  fetch(`categories/${options.cat}`).then(res=>{
    //设置导航标题api
    //这里onLoad不能确定一定是在onReady之后执行
    this.setData({
      categories:res.data
    })
    wx.setNavigationBarTitle({
      title:res.data.name
    })
    //加载完分类信息过后再加载商铺信息
    this.loadMore()
    
  })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    //重新加载数据
    this.setData({
      shops:[],
      pageIndex:1,
      hasMore:true,
    })
    //loadMore返回一个promise对象，让loadMore执行完后就执行then里面的结束下拉刷新
    this.loadMore().then(()=>{
      wx.stopPullDownRefresh()
    })
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    //加载下一页的数据
    
    this.loadMore()
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})